home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / mac / Illustrator 6.0 SDK r1 Mac / AI Plugin Interface / AITextFaceStyle.h < prev    next >
Text File  |  1995-12-21  |  2KB  |  135 lines

  1. /**
  2.  
  3.     AITextFaceStyle.h
  4.     Copyright (c) 1995 Adobe Systems Incorporated.
  5.     All Rights Reserved
  6.  
  7.     Adobe Illustrator 6.0 Text Face Style Suite.
  8.  
  9.  **/
  10.  
  11. #ifndef __AITextFaceStyle__
  12. #define __AITextFaceStyle__
  13.  
  14.  
  15. /*******************************************************************************
  16.  **
  17.  **    Imports
  18.  **
  19.  **/
  20.  
  21. #include "AITypes.h"
  22. #include "AIFixedMath.h"
  23.  
  24.  
  25. #if Macintosh
  26.     #ifdef __cplusplus
  27.     extern "C" {
  28.     #endif
  29.     
  30.     #if PRAGMA_ALIGN_SUPPORTED
  31.     #pragma options align=mac68k
  32.     #endif
  33.     
  34.     #if PRAGMA_IMPORT_SUPPORTED
  35.     #pragma import on
  36.     #endif
  37. #endif
  38.  
  39.  
  40. /*******************************************************************************
  41.  **
  42.  **    Constants
  43.  **
  44.  **/
  45.  
  46. #define kAITextFaceStyleSuite        "AI Text Face Style Suite"
  47. #define kAITextFaceStyleVersion        3
  48.  
  49.  
  50. typedef enum {
  51.     kUnknownFormat = -1,
  52.     kTypeOneFormat,
  53.     kTrueTypeFormat
  54. } AIFaceFormat;
  55.  
  56. typedef enum {
  57.     kUnknownEncoding = -1,
  58.     kDontCareEncoding,
  59.     kStandardEncoding,
  60.     kSpecialEncoding
  61. } AIFaceEncoding;
  62.  
  63. typedef enum {
  64.     kUnknownScript = -1,
  65.     kRomanScript,
  66.     kJapaneseScript
  67. } AIFaceScript;
  68.  
  69.  
  70. /*******************************************************************************
  71.  **
  72.  **    Types
  73.  **
  74.  **/
  75.  
  76. typedef struct {
  77.     Str255 face;
  78.  
  79.     AIFaceFormat format;
  80.     AIFaceEncoding encoding;
  81.     AIFaceScript script;
  82.     
  83.     short strikeNumber;
  84.     short strikeStyle;
  85.  
  86.     Boolean originalEncoding;
  87.     Boolean familyInstalled;
  88.     Boolean strikeInstalled;
  89.     Boolean fauxedInstalled;
  90. } AIFaceStyle;
  91.  
  92. typedef struct {
  93.     Fixed leading;
  94.     Fixed ascent;
  95.     Fixed descent;
  96.     FixedRect bbox;
  97.     Fixed width[256];
  98. } AIFaceMetrics;
  99.  
  100.  
  101. /*******************************************************************************
  102.  **
  103.  **    Suite
  104.  **
  105.  **/
  106.  
  107. typedef struct {
  108.  
  109.     MACPASCAL FXErr (*CountFaceResources) ( long *count );
  110.     MACPASCAL FXErr (*GetNthFaceResource) ( long index, AIFaceStyle *faceStyle );
  111.     MACPASCAL FXErr (*GetNthFaceMetrics) ( long index, AIFaceMetrics *faceMetrics );
  112.     
  113.     MACPASCAL FXErr (*OldFaceResource) ( AIFaceStyle *faceStyle, AIFaceMetrics *faceMetrics );
  114.     MACPASCAL FXErr (*NewFaceResource) ( AIFaceStyle *faceStyle, AIFaceMetrics *faceMetrics );
  115.  
  116. } AITextFaceStyleSuite;
  117.  
  118.  
  119. #if Macintosh
  120.     #if PRAGMA_IMPORT_SUPPORTED
  121.     #pragma import off
  122.     #endif
  123.     
  124.     #if PRAGMA_ALIGN_SUPPORTED
  125.     #pragma options align=reset
  126.     #endif
  127.     
  128.     #ifdef __cplusplus
  129.     }
  130.     #endif
  131. #endif
  132.  
  133.  
  134. #endif
  135.